Demodulation method for mimo systems

ABSTRACT

A method for processing a plurality of data streams from a transmitter, includes: receiving symbols via the plurality of data streams; generating a channel matrix; sorting the channel matrix to provide a sorted channel matrix; performing QR decomposition on the sorted channel matrix and a column-row-swapped-sorted-channel matrix; performing QR equalization on a sorted received symbol vector and a swapped received symbol vector to provide a equalized-sorted vector and a equalized-swapped-sorted vector; processing first and second portions of the equalized-sorted vector and the equalized-swapped-sorted vector via a QR-MLD demodulation scheme to determine soft bits and soft symbols; and rearrange soft bits in the above steps to provide an output vector.

PRIORITY CLAIM

Priority is claimed on Australian Provisional Patent Application No. 2009900235, filed Jan. 21, 2009, the content of which is incorporated herein by reference.

TECHNICAL FIELD

The present invention relates to wireless communications systems, and more particularly to a method for demodulating data transmitted over wireless communications systems.

BACKGROUND ART

In wireless communications, techniques exist to improve spectral efficiency. For example, receivers are provided with hardware which carry out techniques such as QR demodulation, or MLD (maximum likelihood detection). However, many of these receivers are complex.

Existing methods allow two independent data streams, for example: 2 transmit-2 receive antenna (2×2) multiple input-multiple output (MIMO) systems using a 2×2 QR-MLD demodulator. A problem arises when it is desired to extend the 2×2 QR-MLD demodulator to handle four independent data streams (e.g. a 4×4 MIMO system) or even eight independent data streams (e.g. 8×8 MIMO system) since it is not straightforward. This is due to the complexity of the hardware implementation associated with a 4×4 demodulation scheme where MLD is applied. This hardware complexity in turn leads to a larger chip size and increased power consumption.

This problem is exacerbated by the need for present receivers in wireless communication systems to be able to demodulate transmitted data with a variety of different methods.

It would therefore be desirable to provide a method of demodulating transmitted data for 4×4 MIMO systems or 8×8 MIMO systems which can utilize existing 2×2 demodulators but without complexity.

It will be appreciated that a reference herein to any matter which is given as prior art is not to be taken as an admission that that matter was, in Australia or elsewhere, known or that the information it contains was part of the common general knowledge as at the priority date of the claims forming part of this specification.

DISCLOSURE OF INVENTION

With this in mind, one aspect of the present invention provides a method for processing a plurality of data streams from a transmitter, the method including:

(a) receiving symbols via the plurality of data streams, the received symbols being represented by a received symbol vector y;

(b) generating an N×N channel matrix H, where N is the number of data streams;

(c) sorting the N×N channel matrix H to provide an N×N sorted channel matrix H(S);

(d) performing QR decomposition on the sorted channel matrix H(S) to compute a Q(S) matrix and an R(S) matrix such that H(S)=Q(S)R(S), the Q(S) matrix being a unitary matrix and the R(S) matrix being an upper triangular matrix;

(e) performing QR decomposition on a column-row-swapped-sorted-channel matrix H({tilde over (S)}) to compute the corresponding Q({tilde over (S)}) matrix and R({tilde over (S)}) matrix such that H({tilde over (S)})=Q({tilde over (S)})×R({tilde over (S)}), the Q({tilde over (S)}) matrix being a unitary matrix and the R({tilde over (S)}) matrix being an upper triangular matrix;

(f) performing QR equalization on a sorted received symbol vector y(S) to provide an equalized-sorted vector z(S);

(g) performing QR equalization on a swapped received symbol vector y({tilde over (S)}) to provide an equalized-swapped-sorted vector z({tilde over (S)});

(h) processing a first portion of z(S) and z({tilde over (S)}) via a QR-MLD demodulation scheme to determine soft bits and soft symbols;

(i) processing a second portion of z(s) and z({tilde over (S)}) via a QR-MLD demodulation scheme to determine soft bits and soft symbols;

(j) rearranging the soft bits in steps (h) and (I) to provide an output vector b.

Advantageously, the present invention utilizes much of the functional components of the 2×2 QR-MLD demodulator to process a 4×4 MIMO system or even and 8×8 MIMO system without significant complexity.

Preferably, N=4 and sorting of the 4×4 channel matrix H to provide a 4×4 sorted channel matrix H(S) at step (c) includes the following steps:

(a) generating 4 pre-arranged matrices H(1), H(2), H(3) and H(4);

(b) performing QR decomposition to H(t)=Q(t)×R(t), tε{1, 2, 3, 4};

(c) utilizing an element of each R matrix for sorting such that S=└s₁,s₂,s₃,s₄┘.

Preferably, the element is the 4th row and the 4th column of each R matrix R₄₄ for sorting such that S=└s₁,s₂,s₃,s₄┘.

Preferably, N=4 and sorting of the 4×4 channel matrix H to provide a 4×4 sorted channel matrix H(S) at step (c) includes the following steps:

(a) calculating the norm of each column of the channel matrix H

(b) comparing the norm of each column [E(1), E(2), E(3) and E(4)] to obtain a sorted a sorted vector S=└s₁,s₂,s₃,s₄┘.

Preferably, N=4 and the sorted channel matrix H(S) is given by the expression: H(S)=└h(s₁) h(s₂) h(s₃) h(s₄)┘=Q(S)×R(S).

Preferably, N=4 and the column-row-swapped-sorted-channel matrix H({tilde over (S)}) is given by the expression:

${H\left( \overset{\sim}{S} \right)} = {\begin{bmatrix} h_{2s_{2}} & h_{2s_{1}} & h_{2s_{4}} & h_{2s_{3}} \\ h_{1s_{2}} & h_{1s_{1}} & h_{1s_{4}} & h_{1s_{3}} \\ h_{4s_{2}} & h_{4s_{1}} & h_{4s_{4}} & h_{4s_{3}} \\ h_{3s_{2}} & h_{3s_{1}} & h_{3s_{4}} & h_{3s_{3}} \end{bmatrix} = {{Q\left( \overset{\sim}{S} \right)} \times {R\left( \overset{\sim}{S} \right)}}}$

Preferably, N=4 and performing QR equalization on a sorted received symbol vector y(S) to provide an equalized-sorted vector z(S) is determined by the following steps:

(a) multiplying a sorted received symbol vector y(S) by the Hermitian Q^(H)(S) of the Q(S) matrix such that z(S)=Q^(H)(S)y(S);

(b) obtaining the equalized-sorted vector z(S).

Preferably, N=4 and performing QR equalization by multiplying the swapped received symbol vector y({tilde over (S)}) by the Hermitian Q^(H)({tilde over (S)}) of the Q({tilde over (S)}) matrix such that z({tilde over (S)})=Q^(H)({tilde over (S)})×R({tilde over (S)}) where z(s) is the equalized-swapped-sorted vector.

Preferably, the first portion of z(S) and z({tilde over (S)}) is used to calculate the soft bits x_(S) ₃ , x_(S) ₄ . Preferably, the first portion of z(s) and z({tilde over (S)}) is processed by existing 2×2 demodulators, thereby outputting the soft bits x_(S) ₃ , x_(S) ₄ .

Preferably, a total distance metric d_(total j) is calculated to provide soft symbol {circumflex over (x)}_(s) ₄ and {circumflex over (x)}_(s) ₃ .

Preferably, by subtracting soft symbol {circumflex over (x)}_(s) ₄ and {circumflex over (x)}_(s) ₃ from the second portion of z(S) and z({tilde over (S)}), the residual of the second portion is processed by one or more existing 2×2 demodulators, thereby outputting soft bits x_(S) ₁ , x_(S) ₂ .

Preferably, the soft bits x_(S) ₁ , x_(S) ₂ , x_(S) ₃ , x_(S) ₄ are fed into a Forward Error Correction (FEC) decoder for further processing.

Preferably, the soft bits x_(S) ₁ , x_(S) ₂ , x_(S) ₃ , x_(S) ₄ rearranged to provide an output vector b.

BRIEF DESCRIPTION OF THE DRAWINGS

The following description refers in more detail to the various features and steps of the present invention. To facilitate an understanding of the invention, reference is made in the description to the accompanying drawings where the invention is illustrated in a preferred embodiment. It is to be understood however that the invention is not limited to the preferred embodiment illustrated in the drawings.

In the drawings:

FIG. 1 is a block diagram of the components of a prior art 2×2 QR-MLD demodulator;

FIG. 2 is a block diagram of the components of a 4×4 QR-MLD demodulator according to an embodiment of the present invention;

FIG. 3 is a block diagram of the components of a first option for 4×4 channel sorting according to an embodiment of the present invention;

FIG. 4 is a block diagram of the components of a second option for 4×4 channel sorting according to an embodiment of the present invention; and

FIG. 5 is a flow diagram showing the steps in the method of the invention.

EXEMPLARY EMBODIMENT FOR CARRYING OUT THE INVENTION

Referring now to FIG. 1, there is shown a 2×2 QR-MLD demodulator 100 which has a number of inputs including received data I/Q on a first receiver y₁ and a second receiver y₂ together with a channel matrix H for channel estimation. The 2×2 QR-MLD demodulator 100 has a number of modules within it so as to provide an output of demodulated soft bits on two output streams x₁ and x₂. The rearrange channel module 105 takes channel estimates and received symbols from each receive antenna y₁ and y₂) and rearranges them so that the appropriate transmitted symbol can be demodulated. Next, the QR decomposition module 110 performs the QR decomposition on the channel matrix provided by the output of the rearrange channel matrix module 105. Following this, the receive symbol processing module 115 multiplies a constructed receive symbol vector by the Hermitian of the Q matrix provided by the QR decomposition module 110. Finally, the soft bit calculation module 120 calculates the soft bits for each transmitted symbol using Euclidean distance metrics. The working of the 2×2 QR-MLD demodulator will be known to those skilled in the art and will not be described in more detail. Advantageously, the present invention utilizes much of the functional components of the 2×2 QR-MLD demodulator to process a 4×4 MIMO system or even and 8×8 MIMO system without significant complexity.

FIG. 2 shows a 4×4 QR-MLD demodulator 200 according to an embodiment of the present invention which has a number of inputs (in this case N×1, where N=4) via received symbol vector y. A channel matrix H is also provided for channel estimation by the channel estimation module 205. Finally, a variance σ² is included for use in calculating soft symbol calculation at the QR-MLD demodulation module 250 which will be described below. The channel matrix H feeds into the channel sorting component 210 to perform matrix column sorting in order to obtain a sorted channel matrix H(S) which improves the demodulation process by detecting the strongest streams first. The sorted channel matrix H(S) is fed to a soft bit reordering component 265, a QR decomposition component 215 and a swapping module 220. There are two options for channel sorting and each will be described with reference to FIGS. 3 and 4. The channel matrix H is also fed into a QR decomposition component 215 and the swapping module 220. The swapping module 220 takes the channel matrix H and sorted channel matrix H(S) and swaps the rows and columns to produce a column-row-swapped-sorted-channel matrix H({tilde over (S)}). Advantageously, column and row swapping of the channel matrix H(S) utilizes the existing 2×2 QR-MLD scheme with minimal increased complexity. In the prior art 2×2 QR-MLD shown in FIG. 1, the column and row of the 2×2 channel matrix are swapped in order to demodulate the data of the second stream. In the present invention for 4×4 QR-MLD, 4 independent streams are grouped into 2 groups after sorting, (i.e., s1+s2 and s3+s4). The existing 2×2 QR-MLD can be applied to each group. Therefore, column and row swapping in the present invention is required in order to use the 2×2 QR-MLD scheme with ONLY two 4×4 QR decomposition after sorting. Otherwise, 4 QR decomposition after sorting may be needed.

The QR decomposition component 215 performs QR decomposition on the sorted channel matrix H(S) to compute a Q(S) matrix and an R(S) matrix such that H(S)=Q(S)R(S), the Q(S) matrix being a unitary matrix and the R(S) matrix being an upper triangular matrix. The upper triangular matrix R(S) output from the QR decomposition component 215 is fed into a 2×2 QR-MLD demodulator 250, 260 (such as that shown in FIG. 1) together with the interference cancellation module 255. The use of the existing 2×2 QR-MLD demodulator 250, 260 is together with a successive interference cancellation (SIC) scheme. One major problem of SIC scheme is the error propagation where the error replica of the first detection will be propagated to the rest of the detection and degrade the performance of the following detection. The present invention overcomes this problem by sorting, (so that the strongest streams are detected first) and using soft symbols for interference cancellation.

The unitary matrix Q(S) is fed into a QR equalization component 235. The swapped channel matrix H({tilde over (S)}) is fed into a QR decomposition component 225 which performs QR decomposition on the swapped channel matrix H({tilde over (S)}) to compute a swapped Q({tilde over (S)}) matrix and a swapped R({tilde over (S)}) matrix such that H({tilde over (S)})=Q({tilde over (S)})×R({tilde over (S)}), the Q(S) matrix being a unitary matrix and the R(S) matrix being an upper triangular matrix. The swapped upper triangular matrix R({tilde over (S)}) output from the QR decomposition component 225 is fed into a 2×2 QR-MLD demodulator 250, 260 (such as that shown in FIG. 1) together with the interference cancellation module 255. The swapped unitary matrix Q({tilde over (S)}) is fed into a QR equalization component 240.

The QR equalization component 235 further receives an input in the form of a sorted received symbol vector y(S) and the QR equalization component 240 further receives an input in the form of a swapped received symbol vector y({tilde over (S)}) which is produced by a vector swap component 245. The vector swap component 245 takes as input, a received symbol vector y and produces a sorted received symbol vector y(S) and a swapped received symbol vector y({tilde over (S)}).

The QR equalization component 235 multiplies the sorted received signal vector y(S) by the Hermitian of Q(S), namely z(S)=Q^(H)(S)y(S) to produce a equalized-sorted vector z(S) which is fed into the 2×2 QR-MLD demodulator 250 as well as the interference cancellation module 255.

The QR equalization component 240 multiplies the swapped received signal vector y({tilde over (S)}) by the Hermitian of Q({tilde over (S)}), namely z({tilde over (S)})=Q^(H)({tilde over (S)})×y({tilde over (S)}) to produce a equalized-swapped-sorted vector z({tilde over (S)}) which is fed into the interference cancellation module 255 as well as the 2×2 QR-MLD demodulator 250.

The 2×2 QR-MLD demodulator 250 operates largely as known in the art (and shown in FIG. 1) to produce an output b(S₃), b(S₄) for use in the soft bit reordering component 265 as well as soft bits corresponding to {circumflex over (x)}(s₃), {circumflex over (x)}(s₄) for use in an interference cancellation module 255.

The interference cancellation module 255 receives input in the form of R(S), z({tilde over (S)}), R({tilde over (S)}), z(S) and the soft bits {circumflex over (x)}(s₃), {circumflex over (x)}(s₄) from QR-MLD demodulator 250 in order to produce z′({tilde over (S)}) and z′(S) for output to the QR-MLD demodulator 260. Advantageously, the interference cancellation module 255 utilizes soft symbols for interference cancellation. Calculation of the soft symbols is described in more detail in FIG. 5 below.

The 2×2 QR-MLD demodulator 260 operates largely as known in the art (and shown in FIG. 1) to produce an output b(S₁), b(S₂) for use in the soft bit reordering component 265.

The soft bit reordering component 265 receives as input b(S₁), b(S₂) from the 2×2 QR-MLD demodulator 260 and b(S₃), b(S₄) from the 2×2 QR-MLD demodulator 250 in order to produce multiple output streams b(1), b(2), b(3), b(4).

FIG. 3 is a block diagram of the components of the channel sorting component 210 according to a first option (QR decomposition sorting) for 4×4 channel sorting according to an embodiment of the present invention. As shown in FIG. 2, a channel matrix H is provided for channel estimation by the channel estimation module 205. The channel matrix H feeds into the channel sorting component 210 to perform matrix column sorting in order to obtain a sorted channel matrix H(S) which improves the demodulation process. In the first sorting option (QR decomposition sorting) a channel matrix ordering component 300 is provided which receives as input the channel matrix H and transmit antenna ports which include any of 0, 1, 2 and 3. The input channel matrix H received from the effective channel estimation module 205 has a natural order before sorting such that h_(ij) means the channel estimate for the i-th receive antenna regarding the j-th transmit antenna. The channel matrix ordering module 300 shuffles the input channel matrix H to generate 4 pre-arranged 4×4 channel matrices.

Each 4×4 matrix is then QR decomposed by the 4×4 QR decomposition module 305, which outputs a corresponding scalar value R₄₄. The sorting module 310 then sorts all 4 outputs from the 4×4 QR decomposition module 305 where all 4 outputs are put into an increasing order with {s₁, s₂, s₃, s₄}={1, 2, 3, 4} based on the elements of R matrices. The output of sorting component 310 is the vector S=[s1, s2, s3, s4] which represents the sorting order regarding the scalar value R₄₄ for each modified channel matrix.

FIG. 4 is a block diagram of the components of the channel sorting component 210 according to a second option (column norm sorting based on the total power received per transmit antenna port) for 4×4 channel sorting according to an embodiment of the present invention. As shown in FIG. 2, a channel matrix H is provided for channel estimation by the channel estimation module 205. The channel matrix H feeds into the channel sorting component 210 to perform matrix column sorting in order to obtain a sorted channel matrix H(S) which improves the demodulation process. In the second sorting option (column norm sorting), a channel vector norm component 400 is provided which receives as input the channel matrix H and transmit antenna ports which include any of 0, 1, 2 and 3. The input channel matrix H received from the effective channel estimation module 205 with the natural order before sorting such that h_(ij) means the channel estimate for the i-th receive antenna regarding the j-th transmit antenna. The channel vector norm module 400 then calculates the norm for each column.

The sorting module 405 then sorts E(1), E(2), E(3) and E(4) in an increasing order {s₁, s₂, s₃, s₄}={1, 2, 3, 4} based on the norm of each column. The output of sorting component 405 is the vector S=[s1, s2, s3, s4] which represents the sorting order regarding the scalar norm for each column of the channel matrix H.

FIG. 5 shows the method 500 carried out by each of the modules in the QR-MLD demodulator 200 of FIG. 2 for processing plurality of data streams from a transmitter. At step 505 symbols are received simultaneously via multiple streams and the simultaneously received symbols are represented by a received symbol vector y. At step 510 an N×N channel matrix H is generated. N is the number of data streams and is preferably 4×4, but may be extended to 8×8. For simplicity, the description of the method will assume 4×4. Using the signal model y=Hx+n where y is the N×1 received signal vector, H is the N×N channel matrix, x is the N×1 transmitted symbols ({x_(i)} are independent and identically distributed) and n is the N×1 Gaussian noise vector ({n_(i)} are independent and identically distributed with variance σ²). Taking the case of N=4, the signal model is as follows:

$\begin{bmatrix} y_{1} \\ y_{2} \\ y_{3} \\ y_{4} \end{bmatrix} = {{\begin{bmatrix} h_{11} & h_{12} & h_{13} & h_{14} \\ h_{21} & h_{22} & h_{23} & h_{24} \\ h_{31} & h_{32} & h_{33} & h_{34} \\ h_{41} & h_{42} & h_{43} & h_{44} \end{bmatrix}\begin{bmatrix} x_{1} \\ x_{2} \\ x_{3} \\ x_{4} \end{bmatrix}} + \begin{bmatrix} n_{1} \\ n_{2} \\ n_{3} \\ n_{4} \end{bmatrix}}$ $y = {{\begin{bmatrix} {h(1)} & {h(2)} & {h(3)} & {h(4)} \end{bmatrix}x} + n}$

At step 515 the N×N (i.e. 4×4) channel matrix H is sorted to improve the demodulation process by providing an N×N (i.e. 4×4) sorted channel matrix H(S). By sorting the channel matrix H, the data stream with the strongest effective channel estimates is demodulated and then cancelled for the demodulation of other data streams. This in turn provides the sorting gain for the demodulation of the 4×4 system. As was described with reference to FIGS. 3 and 4, there are two ways of sorting the channel matrix H (i) QR decomposition sorting (as shown in FIG. 3) and (ii) Column norm sorting (as shown in FIG. 4).

(i) QR Decomposition Sorting

A QR decomposition is performed for the pre-defined channel matrices H(1), H(2), H(3) and H(4) to arrive at

H(t)=Q(t)×R(t), tε{1,2,3,4}

where: R₄₄(t) denotes the element in column 4 and row 4 of matrix R(t) and t is in the order of transmit antenna port 0, 1, 2 and 3. The pre-ordered matrixes are defined with index in the natural order regarding each transmit antenna. By applying QR decomposition to those 4 matrices, an element of each R matrix can be used for sorting to obtain the sorted vector S=└s₁,s₂,s₃,s₄┘ with {s₁, s₂, s₃, s₄}={1, 2, 3, 4}

(ii) Column Norm Sorting

The norm of each column of the channel matrix is calculated. Then, by comparing the norm of each column, the sorted vector S=└s₁,s₂,s₃,s₄┘ can be derived.

Once the channel matrix H is sorted, control moves to step 520 where a QR decomposition is performed on the sorted channel matrix H(S) to compute a Q(S) matrix and an R(S) matrix such that H(S)=└h(s₁) h(s₂) h(s₃) h(s₄)┘=Q(S)×R(S), the Q(S) matrix being a unitary matrix and the R(S) matrix being an upper triangular matrix. A QR decomposition is then performed on a column-row-swapped-sorted-channel matrix H({tilde over (S)}) at step 525 to compute a swapped Q({tilde over (S)}) matrix and a swapped R({tilde over (S)}) matrix, the Q({tilde over (S)}) matrix being a unitary matrix and the R({tilde over (S)}) matrix being an upper triangular matrix.

At step 530 a QR equalization is performed on a sorted received symbol vector y(S) by multiplying the sorted received signal vector y(S) by the Hermitian of Q(S): z(s)=Q^(H)(S)y(S).

A QR equalization is then performed at step 535 on a swapped received symbol vector y({tilde over (S)}) by multiplying by the Hermitian Q({tilde over (S)}).

At step 540 a first portion of z(S) and z({tilde over (S)}) is processed via a QR-MLD demodulation scheme to determine soft bits and soft symbols.

The soft bits corresponding to x_(S) ₃ , x_(S) ₄ are output and used to then obtain the soft symbols. The soft symbols are obtained in the usual manner known in the art using d_(total j) (i.e. the output of the Process receive symbols component 115 in FIG. 1) calculated during the 2×2 QR-MLD demodulation processes above.

Control then moves to step 545 where a second portion of z(S) and z({tilde over (S)}) is processed via a QR-MLD demodulation scheme to determine soft bits and soft symbols.

The soft bits corresponding to x_(S) ₁ , x_(S) ₂ , x_(S) ₃ , x_(S) ₄ may then be fed into Forward Error Correction decoder component [not shown], e.g. a turbo decoder for further processing as required.

Control then moves to step 550, where the demodulated soft bits 540 and 545 are re-arranged based on the sorting sequence in step 515 (either QR decomposition sorting or column norm sorting) to resume the original transmission order and provide output b(1), b(2), b(3), b(4).

The method of the present invention may be extended to an 8×8 system, with z({tilde over (S)}) being broken up into two 4×4 systems at steps 540 and 545. Then each 4×4 system is broken up into two 2×2 systems. The first 4×4 system shall output 4 demodulated soft bits and 4 soft symbols. Those 4 soft symbols shall be used in the second 4×4 system, where 4 soft symbols are cancelled out in order to demodulate the remaining 4 data streams.

Although the exemplary embodiments of the invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible without departing from the scope of the present invention. Therefore, the present invention is not limited to the above-described embodiments but is defined by the following claims.

INDUSTRIAL APPLICABILITY

The present invention can be applied to wireless communications systems, and more particularly to a method for demodulating data transmitted over wireless communications systems. 

1. A method for processing a plurality of data streams from a transmitter, the method including: (a) receiving symbols via the plurality of data streams, the received symbols being represented by a received symbol vector y; (b) generating an N×N channel matrix H, where N is the number of data streams; (c) sorting the N×N channel matrix H to provide an N×N sorted channel matrix H(S); (d) performing QR decomposition on the sorted channel matrix H(S) to compute a Q(S) matrix and an R(S) matrix such that H(S)=Q(S)R(S), the Q(S) matrix being a unitary matrix and the R(S) matrix being an upper triangular matrix; (e) performing QR decomposition on a column-row-swapped-sorted-channel matrix H({tilde over (S)}) to compute the corresponding Q({tilde over (S)}) matrix and R({tilde over (S)}) matrix such that H({tilde over (S)})=Q({tilde over (S)})×R({tilde over (S)}), the Q({tilde over (S)}) matrix being a unitary matrix and the R({tilde over (S)}) matrix being an upper triangular matrix; (f) performing QR equalization on a sorted received symbol vector y(S) to provide a equalized-sorted vector z(S); (g) performing QR equalization on a swapped received symbol vector y({tilde over (S)}) to provide a equalized-swapped-sorted vector z({tilde over (S)}); (h) processing a first portion of z(S) and z({tilde over (S)}) via a QR-MLD demodulation scheme to determine soft bits and soft symbols; (I) processing a second portion of z(S) and z({tilde over (S)}) via a QR-MLD demodulation scheme to determine soft bits and soft symbols; (j) rearrange soft bits in steps (h) and (I) to provide an output vector b.
 2. The method of claim 1, wherein N=4 and sorting of the 4×4 channel matrix H to provide a 4×4 sorted channel matrix H(S) at step (c) includes the following steps: (a) generating the pre-arranged matrices H(1), H(2), H(3) and H(4); (b) performing QR decomposition on H(t)=Q(t)×R(t), tε{1, 2, 3, 4}, (c) utilizing an element of each R matrix for sorting such that S=└s₁, s₂, s₃, s₄┘.
 3. The method of claim 1, wherein N=4 and sorting of the 4×4 channel matrix H to provide a 4×4 sorted channel matrix H(S) at step (c) includes the following steps: (a) calculating the norm of each column of the channel matrix H; (b) comparing the norm of each column to obtain a sorted vector S=└s₁,s₂,s₃,s₄┘.
 4. The method of claim 1, wherein N=4 and the sorted channel matrix H(S) is given by the expression: H(S)=└h(s₁) h(s₂) h(s₃) h(s₄)┘=Q(S)×R(S).
 5. The method of claim 1, wherein N=4 and the column-row-swapped-sorted-channel matrix H({tilde over (S)}) is obtained.
 6. The method of claim 1, wherein N=4 and performing QR equalization on a sorted received symbol vector y(S) to provide a equalized-sorted vector z(S) is determined by the following steps: (a) multiplying a sorted received symbol vector y(S) by the Hermitian Q^(H)(S) of the Q(S) matrix such that z(S)=Q^(H)(S)y(S); (b) obtaining the equalized-sorted vector z(s);
 7. The method of claim 1, wherein N=4 and performing QR equalization by multiplying the swapped received symbol vector y({tilde over (S)}) by the Hermitian Q^(H)({tilde over (S)}) of the Q({tilde over (S)}) matrix such that z=Q^(H)({tilde over (S)})×y({tilde over (S)}) where z({tilde over (S)}) is the equalized-swapped-sorted vector.
 8. The method of claim 7, wherein the first portion of z(s) and z({tilde over (S)}) is used to calculate soft bits x_(S) ₃ , x_(S) ₄ .
 9. The method of claim 8, wherein a total distance metric d_(total j) is calculated to provide soft symbol {circumflex over (x)}_(s) ₄ and {circumflex over (x)}_(s) ₃ .
 10. The method of claim 7, wherein the second portion of z(s) and z({tilde over (S)}) with the calculated soft symbol {circumflex over (x)}_(s) ₄ and {circumflex over (x)}_(s) ₃ are used to calculate soft bits x_(S) ₁ , x_(S) ₂ .
 11. The method of claim 10, wherein the soft bits x_(S) ₁ , x_(S) ₂ , x_(S) ₃ , x_(S) ₄ are fed into a Forward Error Correction (FEC) decoder for further processing.
 12. The method of claim 11, wherein the soft bits x_(S) ₁ , x_(S) ₂ , x_(S) ₃ , x_(S) ₄ are rearranged to provide an output vector b. 